#ifndef FLORACOMMUNITYSERIAL_H
#define FLORACOMMUNITYSERIAL_H

#include <QSerialPort>
#include "floracommunitybus.h"
class floraCommunitySerial:public FloraCommunityBus
{
    Q_OBJECT
public:
    floraCommunitySerial();
    void configure(QString& portName,int baudRate = 9600,
                   QSerialPort::DataBits dataBits = QSerialPort::Data8,
                   QSerialPort::Parity parity = QSerialPort::NoParity,
                   QSerialPort::StopBits stopBits = QSerialPort::OneStop,
                   QSerialPort::FlowControl flowControl = QSerialPort::NoFlowControl);
    QString m_portName; // 保存串口名称
    int m_baudRate;     // 保存波特率
    bool isConnected;
    QSerialPort::DataBits m_dataBits; // 保存数据位
    QSerialPort::Parity m_parity;      // 保存奇偶校验
    QSerialPort::StopBits m_stopBits;  // 保存停止位
    QSerialPort::FlowControl m_flowControl; // 保存流控制
    uint16_t communitError[255]={0};
     void appendBurstCommand(commandTuple comand) override;
    bool openPort();
    void closePort();
    void run();
private:

    QString portName;
};

#endif // FLORACOMMUNITYSERIAL_H
